package com.huakang.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MedbuyExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public MedbuyExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andMbidIsNull() {
            addCriterion("mbid is null");
            return (Criteria) this;
        }

        public Criteria andMbidIsNotNull() {
            addCriterion("mbid is not null");
            return (Criteria) this;
        }

        public Criteria andMbidEqualTo(Integer value) {
            addCriterion("mbid =", value, "mbid");
            return (Criteria) this;
        }

        public Criteria andMbidNotEqualTo(Integer value) {
            addCriterion("mbid <>", value, "mbid");
            return (Criteria) this;
        }

        public Criteria andMbidGreaterThan(Integer value) {
            addCriterion("mbid >", value, "mbid");
            return (Criteria) this;
        }

        public Criteria andMbidGreaterThanOrEqualTo(Integer value) {
            addCriterion("mbid >=", value, "mbid");
            return (Criteria) this;
        }

        public Criteria andMbidLessThan(Integer value) {
            addCriterion("mbid <", value, "mbid");
            return (Criteria) this;
        }

        public Criteria andMbidLessThanOrEqualTo(Integer value) {
            addCriterion("mbid <=", value, "mbid");
            return (Criteria) this;
        }

        public Criteria andMbidIn(List<Integer> values) {
            addCriterion("mbid in", values, "mbid");
            return (Criteria) this;
        }

        public Criteria andMbidNotIn(List<Integer> values) {
            addCriterion("mbid not in", values, "mbid");
            return (Criteria) this;
        }

        public Criteria andMbidBetween(Integer value1, Integer value2) {
            addCriterion("mbid between", value1, value2, "mbid");
            return (Criteria) this;
        }

        public Criteria andMbidNotBetween(Integer value1, Integer value2) {
            addCriterion("mbid not between", value1, value2, "mbid");
            return (Criteria) this;
        }

        public Criteria andMbnameIsNull() {
            addCriterion("mbname is null");
            return (Criteria) this;
        }

        public Criteria andMbnameIsNotNull() {
            addCriterion("mbname is not null");
            return (Criteria) this;
        }

        public Criteria andMbnameEqualTo(String value) {
            addCriterion("mbname =", value, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbnameNotEqualTo(String value) {
            addCriterion("mbname <>", value, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbnameGreaterThan(String value) {
            addCriterion("mbname >", value, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbnameGreaterThanOrEqualTo(String value) {
            addCriterion("mbname >=", value, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbnameLessThan(String value) {
            addCriterion("mbname <", value, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbnameLessThanOrEqualTo(String value) {
            addCriterion("mbname <=", value, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbnameLike(String value) {
            addCriterion("mbname like", value, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbnameNotLike(String value) {
            addCriterion("mbname not like", value, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbnameIn(List<String> values) {
            addCriterion("mbname in", values, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbnameNotIn(List<String> values) {
            addCriterion("mbname not in", values, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbnameBetween(String value1, String value2) {
            addCriterion("mbname between", value1, value2, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbnameNotBetween(String value1, String value2) {
            addCriterion("mbname not between", value1, value2, "mbname");
            return (Criteria) this;
        }

        public Criteria andMbcostIsNull() {
            addCriterion("mbcost is null");
            return (Criteria) this;
        }

        public Criteria andMbcostIsNotNull() {
            addCriterion("mbcost is not null");
            return (Criteria) this;
        }

        public Criteria andMbcostEqualTo(Double value) {
            addCriterion("mbcost =", value, "mbcost");
            return (Criteria) this;
        }

        public Criteria andMbcostNotEqualTo(Double value) {
            addCriterion("mbcost <>", value, "mbcost");
            return (Criteria) this;
        }

        public Criteria andMbcostGreaterThan(Double value) {
            addCriterion("mbcost >", value, "mbcost");
            return (Criteria) this;
        }

        public Criteria andMbcostGreaterThanOrEqualTo(Double value) {
            addCriterion("mbcost >=", value, "mbcost");
            return (Criteria) this;
        }

        public Criteria andMbcostLessThan(Double value) {
            addCriterion("mbcost <", value, "mbcost");
            return (Criteria) this;
        }

        public Criteria andMbcostLessThanOrEqualTo(Double value) {
            addCriterion("mbcost <=", value, "mbcost");
            return (Criteria) this;
        }

        public Criteria andMbcostIn(List<Double> values) {
            addCriterion("mbcost in", values, "mbcost");
            return (Criteria) this;
        }

        public Criteria andMbcostNotIn(List<Double> values) {
            addCriterion("mbcost not in", values, "mbcost");
            return (Criteria) this;
        }

        public Criteria andMbcostBetween(Double value1, Double value2) {
            addCriterion("mbcost between", value1, value2, "mbcost");
            return (Criteria) this;
        }

        public Criteria andMbcostNotBetween(Double value1, Double value2) {
            addCriterion("mbcost not between", value1, value2, "mbcost");
            return (Criteria) this;
        }

        public Criteria andMbnumIsNull() {
            addCriterion("mbnum is null");
            return (Criteria) this;
        }

        public Criteria andMbnumIsNotNull() {
            addCriterion("mbnum is not null");
            return (Criteria) this;
        }

        public Criteria andMbnumEqualTo(Integer value) {
            addCriterion("mbnum =", value, "mbnum");
            return (Criteria) this;
        }

        public Criteria andMbnumNotEqualTo(Integer value) {
            addCriterion("mbnum <>", value, "mbnum");
            return (Criteria) this;
        }

        public Criteria andMbnumGreaterThan(Integer value) {
            addCriterion("mbnum >", value, "mbnum");
            return (Criteria) this;
        }

        public Criteria andMbnumGreaterThanOrEqualTo(Integer value) {
            addCriterion("mbnum >=", value, "mbnum");
            return (Criteria) this;
        }

        public Criteria andMbnumLessThan(Integer value) {
            addCriterion("mbnum <", value, "mbnum");
            return (Criteria) this;
        }

        public Criteria andMbnumLessThanOrEqualTo(Integer value) {
            addCriterion("mbnum <=", value, "mbnum");
            return (Criteria) this;
        }

        public Criteria andMbnumIn(List<Integer> values) {
            addCriterion("mbnum in", values, "mbnum");
            return (Criteria) this;
        }

        public Criteria andMbnumNotIn(List<Integer> values) {
            addCriterion("mbnum not in", values, "mbnum");
            return (Criteria) this;
        }

        public Criteria andMbnumBetween(Integer value1, Integer value2) {
            addCriterion("mbnum between", value1, value2, "mbnum");
            return (Criteria) this;
        }

        public Criteria andMbnumNotBetween(Integer value1, Integer value2) {
            addCriterion("mbnum not between", value1, value2, "mbnum");
            return (Criteria) this;
        }

        public Criteria andMbprotimeIsNull() {
            addCriterion("mbprotime is null");
            return (Criteria) this;
        }

        public Criteria andMbprotimeIsNotNull() {
            addCriterion("mbprotime is not null");
            return (Criteria) this;
        }

        public Criteria andMbprotimeEqualTo(Date value) {
            addCriterion("mbprotime =", value, "mbprotime");
            return (Criteria) this;
        }

        public Criteria andMbprotimeNotEqualTo(Date value) {
            addCriterion("mbprotime <>", value, "mbprotime");
            return (Criteria) this;
        }

        public Criteria andMbprotimeGreaterThan(Date value) {
            addCriterion("mbprotime >", value, "mbprotime");
            return (Criteria) this;
        }

        public Criteria andMbprotimeGreaterThanOrEqualTo(Date value) {
            addCriterion("mbprotime >=", value, "mbprotime");
            return (Criteria) this;
        }

        public Criteria andMbprotimeLessThan(Date value) {
            addCriterion("mbprotime <", value, "mbprotime");
            return (Criteria) this;
        }

        public Criteria andMbprotimeLessThanOrEqualTo(Date value) {
            addCriterion("mbprotime <=", value, "mbprotime");
            return (Criteria) this;
        }

        public Criteria andMbprotimeIn(List<Date> values) {
            addCriterion("mbprotime in", values, "mbprotime");
            return (Criteria) this;
        }

        public Criteria andMbprotimeNotIn(List<Date> values) {
            addCriterion("mbprotime not in", values, "mbprotime");
            return (Criteria) this;
        }

        public Criteria andMbprotimeBetween(Date value1, Date value2) {
            addCriterion("mbprotime between", value1, value2, "mbprotime");
            return (Criteria) this;
        }

        public Criteria andMbprotimeNotBetween(Date value1, Date value2) {
            addCriterion("mbprotime not between", value1, value2, "mbprotime");
            return (Criteria) this;
        }

        public Criteria andBuytimeIsNull() {
            addCriterion("buytime is null");
            return (Criteria) this;
        }

        public Criteria andBuytimeIsNotNull() {
            addCriterion("buytime is not null");
            return (Criteria) this;
        }

        public Criteria andBuytimeEqualTo(Date value) {
            addCriterion("buytime =", value, "buytime");
            return (Criteria) this;
        }

        public Criteria andBuytimeNotEqualTo(Date value) {
            addCriterion("buytime <>", value, "buytime");
            return (Criteria) this;
        }

        public Criteria andBuytimeGreaterThan(Date value) {
            addCriterion("buytime >", value, "buytime");
            return (Criteria) this;
        }

        public Criteria andBuytimeGreaterThanOrEqualTo(Date value) {
            addCriterion("buytime >=", value, "buytime");
            return (Criteria) this;
        }

        public Criteria andBuytimeLessThan(Date value) {
            addCriterion("buytime <", value, "buytime");
            return (Criteria) this;
        }

        public Criteria andBuytimeLessThanOrEqualTo(Date value) {
            addCriterion("buytime <=", value, "buytime");
            return (Criteria) this;
        }

        public Criteria andBuytimeIn(List<Date> values) {
            addCriterion("buytime in", values, "buytime");
            return (Criteria) this;
        }

        public Criteria andBuytimeNotIn(List<Date> values) {
            addCriterion("buytime not in", values, "buytime");
            return (Criteria) this;
        }

        public Criteria andBuytimeBetween(Date value1, Date value2) {
            addCriterion("buytime between", value1, value2, "buytime");
            return (Criteria) this;
        }

        public Criteria andBuytimeNotBetween(Date value1, Date value2) {
            addCriterion("buytime not between", value1, value2, "buytime");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}